package org.japo.java.basics.entities;

public class NIF {
    //Atributo
    //Numero y letra de control
    private int dni;
    private char letra;
    //Lista letras
    public final static String LETRAS = "TRWAGMYFPDXBNJZSQVHLCKE";
    //Construcores
    public NIF(){
        this.letra = cacularLetraNif(dni);
    }
    public NIF(int dni){
        this.dni = dni;
        this.letra = cacularLetraNif(dni);
    }

    /**
     * @return the dni
     */
    public int getDni() {
        return dni;
    }

    /**
     * @param dni the dni to set
     */
    public void setDni(int dni) {
        this.dni = dni;
    }

    /**
     * @return the letra
     */
    public char getLetra() {
        return letra;
    }
    
    public static char cacularLetraNif(int dni) {
        return LETRAS.charAt(dni % 23);
    }

    public void mostrarNif () {
        System.out.println(this.toString());
    }

    @Override
    public String toString() {
        return String.format("%08d%c",dni,letra);
    }
    
}
